A data center is one example of a distributed computing environment that houses computer systems, various networking, storage and other related components. The computing resources provided by a data center may include various types of resources, such as data processing resources, data storage resources, data communication resources and the like. To facilitate increased utilization of data center resources, virtualization technologies may allow a single physical computing machine to host one or more instances of virtual machines (VMs) that appear and operate as independent computer machines to a remotely connected computer user. Such complex computing environments allow for use of distributed services and scalable applications.
In a distributed computing environment, a group of computing resources may each contribute to a processing task. Consequently, determining which computing resource performed which aspect of a processing task may be useful for understanding the function and behavior of the distributed computing environment under various conditions. As such, tracing the activities of each computing resource for a particular processing task in a group of processing tasks that contribute to the overall performance of a processing task may be useful. In particular, ordering the processing tasks performed by each of the computing resources that contribute to performing the overall task can be determined based on timestamps. The use of timestamps in a distributed computing environment requires accurate and synchronized time sources in the distributed computing environment so that an order of events can be accurately determined.